// pages/Topic_Publish/Topic_Publish.js

var app = getApp();

var clinetConn = null;

Page({

  /**
   * 页面的初始数据
   */
  data: {
    InTopic: 'testtopic',
    InPublish: 'testpublish',
    InMessage: 'Hello World'
  },

  InTopic: function (e) {
    this.setData({
      InTopic: e.detail.value
    })
  },
  InPublish: function (e) {
    this.setData({
      InPublish: e.detail.value
    })
  },
  InMessage: function (e) {
    this.setData({
      InMessage: e.detail.value
    })
  },

  btn_Topic: function (e) {

    if (clinetConn == null) {
      wx.showToast({
        icon: 'none',
        title: '连接服务器！',
        duration: 1000,
      })

      return;
    }

    clinetConn.subscribe(this.data.InTopic, function (err) {
      if (!err) {
        console.log('订阅成功！');
      }
    })
  },

  btn_Publish: function (e) {

    if (clinetConn == null) {
      wx.showToast({
        icon: 'none',
        title: '连接服务器！',
        duration: 1000,
      })

      return;
    }

    clinetConn.publish(this.data.InPublish, this.data.InMessage, function (err) {
      if (!err) {
        console.log('发布成功！');
      }
    })

  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    clinetConn = app.globalData.clinetConn; // 需要进行异步加载
    
    if (clinetConn == null) return;
    clinetConn.on('message', (topic, message) => {
      wx.showToast({
        title: '收到的消息：' + message.toString(),
        duration: 2000,
        icon: 'none',
      })
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})